home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / bbbbs85.lha / rexx / ShowHourly.rexx < prev    next >
OS/2 REXX Batch file  |  1995-01-25  |  2KB  |  127 lines

  1. /* $VER: ShowHourly.rexx 8.4 (25.1.95)
  2. copyright 1993-95 Richard Lee Stockton
  3.       FREELY DISTRIBUTABLE
  4. */
  5.  
  6. PARSE SOURCE . . . prg .
  7. ADDRESS AREXX Increment.rexx prg
  8.  
  9. CR=''
  10. def=''
  11. pen3=''
  12. bbspath=GETCLIP('BBS_path')
  13. PARSE ARG name lpp colorflag nonstop .
  14. IF lpp='' THEN
  15.   DO
  16.     lpp=99
  17.     def=''
  18.     pen3=''
  19.   END
  20. IF colorflag=0 THEN
  21.   DO
  22.     def=''
  23.     pen3=''
  24.   END
  25. IF nonstop='' THEN
  26.   DO
  27.     nonstop=1
  28.     CALL CLOSE(STDOUT)
  29.     CALL OPEN(STDOUT,bbspath'EmailFiles/'name'/Notices/HOURLY','W')
  30.   END
  31. IF nonstop=1 THEN lpp=99
  32. IF ADDRESS()='BAUD' THEN CR='0D'x
  33.  
  34. hc.=0
  35. hc.24=countcheck(bbspath'Numbers/Hourly/Start' 0)
  36. IF hc.24=0 THEN hc.25=1
  37. ELSE hc.25=1+DATE('I')-hc.24
  38. hc.26=countcheck(bbspath'Numbers/Hourly/Hour' 0)
  39. hc.27=TIME('H')
  40. DO i=0 TO 23
  41.   temp=hc.25
  42.   IF temp>1 & i>hc.27 THEN temp=temp-1
  43.   hc.i=countcheck(bbspath'Numbers/Hourly/'i 0)%temp
  44. END
  45. IF hc.24=0 THEN hc.24=DATE('I')
  46. SAY CR
  47. SAY pen3'        Average minutes per hour of use each day since' DATE(,hc.24,'I')||def||CR
  48. SAY LEFT('-',68,'-')||CR
  49. line=' Hour:  ********10********20********30********40********50********60'
  50. SAY line||CR
  51. DO i=0 TO 23
  52.   IF i=0 THEN temp=12'am'
  53.   ELSE IF i<12 THEN temp=i'am'
  54.   ELSE IF i=12 THEN temp='12pm'
  55.   ELSE temp=i-12'pm'
  56.   SAY RIGHT(temp,5)':  'pen3||LEFT('*',hc.i,'*')||def||CR
  57.   IF i=(lpp-4) THEN
  58.     IF waiting2() THEN LEAVE i
  59. END
  60. SAY line||CR
  61. SAY LEFT('-',68,'-')||CR
  62. EXIT
  63.  
  64.  
  65. waiting2:
  66. waitchar=getinput(pen3'   Q=Quit   RETURN=Continue  'def)
  67. IF waitchar='Q' THEN RETURN 1
  68. SAY '1B'x'M'||LEFT(' ',78)||CR||'1B'x'M'
  69. RETURN 0
  70.  
  71.  
  72. getinput:
  73. PARSE ARG pline
  74. OPTIONS PROMPT pline
  75. PARSE PULL inarg
  76. inarg=STRIP(inarg)
  77. inarg=UPPER(inarg)
  78. inarg=LEFT(inarg,1)
  79. RETURN inarg
  80.  
  81.  
  82. countcheck:
  83. PARSE ARG fname' 'cknum .
  84. IF ~EXISTS(fname) THEN
  85.   DO
  86.     IF cknum=0 THEN RETURN 0
  87.     IF ~writeopen(fname) THEN RETURN 0
  88.     CALL WRITELN(f,cknum)
  89.     CALL CLOSE(f)
  90.     RETURN cknum
  91.   END
  92. IF ~readopen(fname) THEN RETURN cknum
  93. retval=STRIP(READLN(f))
  94. CALL CLOSE(f)
  95. IF ~DATATYPE(retval,'W') THEN retval=0
  96. IF ~DATATYPE(cknum,'W') THEN cknum=0
  97. IF retval<cknum THEN
  98.   DO
  99.     IF writeopen(fname) THEN
  100.       DO
  101.         CALL WRITELN(f,cknum)
  102.         CALL CLOSE(f)
  103.         RETURN cknum
  104.       END
  105.   END
  106. RETURN retval
  107.  
  108.  
  109. readopen:
  110. PARSE ARG fname
  111. ok=OPEN(f,fname,'R')
  112. IF ok~=0 THEN RETURN 1
  113. SAY fname 'failed to open for reading!'CR
  114. RETURN 0
  115.  
  116.  
  117. writeopen:
  118. PARSE ARG fname
  119. CALL CLOSE(f)
  120. ok=OPEN(f,fname,'W')
  121. IF ok~=0 THEN RETURN 1
  122. SAY fname 'failed to open for writing!'CR
  123. RETURN 0
  124.  
  125.  
  126. /* ShowHourly.rexx */
  127.